1. Field of the Invention
The present invention relates in general to crossbar switches and in particular to a crossbar switch that provides rapid switching of buses.
2. Description of Related Art
Some crossbar switches use multiplexers to selectively route signals between input and output ports. Multiplexer type crossbar switches are often used to quickly change routing of signals between buses. Normally a bus switching crossbar switch can selectively connect any one of its input ports to any one of only a limited number of its output ports. For example a crossbar switch designed for connecting any of four 8-bit buses to any one of four 8-bit output buses may consist of 32 multiplexers each selectively connecting one input port to any one of four of the 32 output ports. In a multiplexer based crossbar switch signal routing can be changed quickly by changing the control data supplied to the multiplexers. However a multiplexer-based crossbar switch may have limited flexibility in interconnecting switch ports. Also in such a multiplexer-based crossbar switch, signals may flow in only one direction between ports. Therefore such crossbar switches are not capable of handling bi-directional signals--signals that can flow in either direction between two ports.
Another type of crossbar switch is described in U.S. Pat. No. 5,282,274 entitled "I/O Buffering System to a Programmable Switching Apparatus", issued Jan. 25, 1994 to Hsieh et al. This crossbar switch selectively interconnects each pair of a set of N switch ports using switching transistors. When a switching transistor is turned on, it provides a bi-directional signal path between the two ports it interconnects. The switch transistors are arrayed on an integrated circuit and each switch transistor is turned on or off by a bit stored in a nearby memory cell. The routing pattern of signals through the crossbar switch is controlled by writing a data bit into each of the memory cells of the array. This switch array type of crossbar switch is typically more compact and flexible than a multiplexer type switch and can route bi-directional signals.
One disadvantage of the matrix type array is the speed with which it can change signal routing. Data is written to one row of memory cells at a time and it requires many clock cycles to reconfigure matrix array switching patterns.
What is needed is a bi-directional crossbar switch having the flexibility of a matrix array type switch and the switching speed of a multiplexer type switch.